package com.cskaoyan.javase.oop3._2inner._3local._0introduction;

import javax.swing.table.TableModel;

/**
 * 局部内部类是定义在一个方法或者一个作用域里面的类，(最常见的局部内部类一般都是在方法中)
 * 简单来说，将局部内部类看成是局部变量即可，该类的有效范围仅在作用域内部。
 * （这意味着要创建它的对象，必须在作用域内部创建）
 *
 * 从语法和具体使用上看，
 * 局部内部类和成员内部类很相似，有点类似于直接把一个成员内部类放进局部位置，语法是：
 * // 局部位置
 * class Inner{
 * }
 * // 局部位置
 *
 * 主要从以下几个角度分析：
 * 1.访问权限修饰符
 *      局部内部类的作用范围已经被作用域限制死了
 *      它不需要访问权限控制,没有访问权限修饰符
 *      同时它还没有static修饰
 *
 * 2.成员特点
 *      局部内部类的成员特点和成员内部类完全一样:
 *      没有static声明
 *      但是允许字面值常量赋值的全局常量
 *
 * 3.继承和实现
 *      继承和实现是局部内部类的主要用途
 *      实际开发是很常见的!
 *
 * @since 17:29
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
}

class EnclosedClazz {
    public void test() {
        // 局部位置,定义局部内部类
        class Inner {
            int a;
            private int b = 10;
            // static int c;
            static final int D = 30;
            public void test(){}
            // public static void testStatic(){}

            public Inner() {
            }
            {}
            // static {}
        }

    }

    public void test2(){

    }
}